package com.foo.final_classifier;

import java.util.Random;

import weka.classifiers.Classifier;
import weka.classifiers.Evaluation;
import weka.classifiers.functions.SMO;
import weka.classifiers.functions.supportVector.RBFKernel;
import weka.core.Instances;

import com.foo.classifiers.SVM_Classifier;
import com.foo.classifiers.SVM_Classifier_With_Options_4_1;
import com.foo.preprocessing.PreprocessedDataset;

public class SVM_Final_Classifier {

	private int noOfFolds = 10;
	private int noOfSeeds = 1;
	/*
	 * Classifier 1 which produces best accuracy and recall for 1000 dataset
	 * Options: Source + Title
	 */
	public void classifier1()
	{
		SVM_Classifier smo = new SVM_Classifier();
		smo.createInstance_Source_Title(noOfFolds, noOfSeeds);
	}
	
	/*
	 * Classifier 2 which produces best precision for 1000 dataset
	 * Options: Source +  Complexity: 1.0, Kernel:RBF,FilterType:Standard
	 */
	public void classifier2()
	{
		SVM_Classifier_With_Options_4_1 smo = new SVM_Classifier_With_Options_4_1(
									1.0,SMO.FILTER_STANDARDIZE,new RBFKernel());
		smo.createInstance_Source(noOfFolds, noOfSeeds);
	}
	/*
	 * Classifier 3 which produces best accuracy and recall for 10,000 dataset
	 * Options: Source + Title;  Complexity: 10.0, Kernel:RBF,FilterType:Normalized
	 */
	public void classifier3()
	{
		SVM_Classifier_With_Options_4_1 smo = new SVM_Classifier_With_Options_4_1(10.0,new RBFKernel());
		smo.createInstance_Source_Title(noOfFolds, noOfSeeds);
	}
	
	/*
	 * Classifier 4 which produces best precision for 10,000 dataset
	 * Options Source;  Complexity: 5.0, Kernel:RBF,FilterType:Normalized
	 */
	public void classifier4()
	{
		SVM_Classifier_With_Options_4_1 smo = new SVM_Classifier_With_Options_4_1(5.0,new RBFKernel());
		smo.createInstance_Source(noOfFolds, noOfSeeds);
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) 
	{
		

	}

}
